#include <iostream>  
using namespace std;

int find(int *f,int *v,int x){
	if(f[x] == x)
		return x;
	int t=f[x];
	f[x]=find(f,v,t);
	v[x]=(v[x]+v[t])%2;
	return f[x];
}


int main(){
	int n,m,ans=0;
	cin>>n>>m;
	int f[n],v[n];
	for(int i=0;i<n;i++) f[i]=i,v[i]=0;
	for(int i=0;i<m;i++){
		int x,y;
		char k;
   		cin>>k>>x>>y;
   		x--;
   		y--;
		if(k=='F'){
			int fx=find(f,v,x),fy=find(f,v,y);
			f[fx]=fy;
			v[fx]=(v[x]+v[y])%2; 
		}
		else{
			int fx=find(f,v,x),fy=find(f,v,y);
			f[fx]=fy;
			v[fx]=(v[x]+v[y]+1)%2;
		}
	}
	int tf[n+5] = {0};
	for(int i=0;i<n;i++){
//		int sum=0;
//		for(int j=0;j<n;j++){
//			if(find(f,v,f[i]) == find(f,v,f[j])){
//				if((v[i]+v[j])%2 == 0) sum++;
//			}
//		}
//		if(sum > ans) ans=sum;
		int fi=find(f,v,i);
		if(fi == i){ans++;/*cout<<fi<<endl;*/}
		else if(v[i] == 1  &&  !tf[fi]) ans+=1,tf[fi]=1;
	}
	cout<<ans;
	return 0;
}
